Garbage Collection in LOGFLOW*
نویسندگان
چکیده
The LOGFLOW is a distributed Prolog system running on multi-transputer machines and workstation clusters. The engines (Distributed Data Driven Prolog Abstract Machines, 3DPAM) execute the Prolog program parallel with fine-grain execution. Coarse-grain pieces of work are executed by traditional sequential WAM (Warren Abstract) machines. In the execution of logic programming languages the memory consumption speed is very high because of a storage cell of the memory cannot be reused when it is filled once. The memory is fulfilled very shortly but most of the allocated storage cells are 'garbage' i.e., they are not used by the system. The 3DPAM engine does not use any space reclamation technique. Our goal is to select an appropriate garbage collection method for it to support the execution of larger programs. In order to find an efficient one an analysis of the system is presented in this paper. After the analysis some algorithm is described and the most appropriate one is suggested for implementation. This paper is the continuation of the paper [2], which gives an overview of the existing garbage collection methods. In Section 2. the data structures of the 3DPAM are described briefly. In section 3. the system is analysed. It describes how the program structures are created in the memory and how they will be garbage. The Section 4. describes collection methods. The conclusion suggests the appropriate methods for both implementations of the LOGFLOW system.
منابع مشابه
Multi-phase Copying Garbage Collection in LOGFLOW*
In this paper a new type of copying garbage collectors is presented. The main goal of the modification of the original method was the reduction of the memory area reserved by the collector. The new Multi-phase Copying Garbage Collection (MC-GC) algorithm reserves only a little part of the memory. It works in more than one phases, using all available free memory areas in each phase. Performance ...
متن کاملGranularity Control in the Logflow Parallel Prolog System
LOGFLOW is a parallel Prolog implementation for massively parallel distributed memory systems. The LOGFLOW execution mechanism combines a very fine-grain data driven scheme and the well-known coarse-grain WAM-based scheme. The LOGFLOW compiler generates two code versions for each Prolog program: 3DPAM (Distributed Data Driven Prolog Abstract Machine) code and WAM code. The Granularity Controlle...
متن کاملExtending LOGFLOW with Parallel Relational Database Operations
LOGFLOW is a parallel Prolog system. It is similar to recent parallel database systems concerning its dataflow execution model and its capability of running on shared–nothing architectures. The similarities between LOGFLOW and parallel database systems show that a new database system can be developed based on LOGFLOW in that both relational and deductive queries can be executed. In this paper w...
متن کاملTools for Mapping, Load Balancing and Monitoring in the LOGFLOW Parallel Prolog Project
LOGFLOW is an all-solution parallel logic programming system able to exploit OR-parallelism and pipeline AND-parallelism of Prolog programs. The LOGFLOW project is intended to implement Prolog in massively parallel distributed memory multicomputers. Porting LOGFLOW to a workstation cluster resulted in a variant of LOGFLOW called WS-LOGFLOW. Implementation of LOGFLOW both on multi-transputers an...
متن کاملMOGUL: A Graphical Environment for Developing the LOGFLOW Parallel Prolog System
The paper describes the MOGUL graphical environment. MOGUL is applied in the design and development of the LOGFLOW parallel Prolog system which exploits inherent ORand pipeline AND-parallelism of Prolog programs. It helps with editing, compiling and executing Prolog programs. It supports graphically the mapping of a sequential and a parallel Prolog engines to physical processors, the animation ...
متن کامل